package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 报告上传信息对象
 *
 * @author ruoyi
 * @date 2025-03-31
 */
@Data
public class GlueReport
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 标题 */
    @Excel(name = "标题")
    @NotBlank(message = "标题必填")
    @Size(max = 50,message = "标题长度不能大于50个字")
    private String title;

    /** 上传人员 */
    @Excel(name = "上传人员")
    private String uploader;

    /** 上传部门 */
    @Excel(name = "上传部门")
    private String department;

    /** 上传时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "上传时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date uploadTime;

    /** 上传类型 1作业指导书（生产相关）2作业指导书（检测相关） 3工艺评定报告 4接头检测报告 5伴随样件报告 6工艺验证报告 7委外测试报告 8来料检测报告 9.典型案例 */
    @Excel(name = "上传类型 1作业指导书", readConverterExp = "生=产相关")
    private Long type;

    /** 文件（存储文件路径或URL） */
    @Excel(name = "文件", readConverterExp = "存=储文件路径或URL")
    private String fileUrl;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
}
